#Dictionary - 字典   

#用{}创建字典,键（key）和值(value)之间用冒号(:)分割，键值对之间用逗号(,)分割
d1 =  {100:"hello","python":[2,4,6]} 
print(d1,type(d1))     #    dict-字典
#创建一个空的字典用dict()函数
d2 = dict() 
print(d2,type(d2))  
#{}创建空的字典
d3 = {}   
print(d3,type(d3))  


#创建字典
user={'username':'zhang','age':20}
print(user)  

#[key]获取key对应的value
print(user['username'],user['age'])   

#print(user['sex'])  #KeyError: 'sex'

#新建一个键值对
user['sex']='男'   #'sex'在字典中不存在
print(user)

#根据键修改值
user['age']=22     #'age'在字典中已存在
print(user) 

# user['username']='xiaoming'
# user['age']=18
# user['sex']='女'
# print(user)

#update(dict)    - 用给定的字典同时增加或修改原字典）
xm = {'username':'xiaoming','age':18,'no':1001} 
user.update(xm)
print(user)  


#同一个字典中键不能重复，不可变的类型（如：数字、字符串、元组）可以作为键   
d3 = {'hello':100,'python':100,('java',):100}     #列表是可变的，不能作为键
print(d3) 

print(d3.get('age',20) )    #get() - 根据关键字获取值，但是关键字不存在，不报错，返回指定的值，默认返回None

 
#pop(key) - 根据键删除键值对 
value = d3.pop('hello')    #返回键对应的值，如果键不存在，抛出错误KeyError
print(value)
print(d3) 

#clear() - 清空
d3.clear()
print(d3)

 









